#!/bin/bash
# NotePad-- 一键编译安装脚本
# 修复了暗色模式下所有语言的代码高亮问题

set -e  # 遇到错误立即退出

echo "========================================="
echo "  NotePad-- 暗色主题修复版编译安装"
echo "========================================="
echo ""

# 设置颜色
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
RED='\033[0;31m'
NC='\033[0m' # No Color

# 1. 清理旧的build目录
echo -e "${YELLOW}[1/5]${NC} 清理旧的编译文件..."
cd /Users/dddpeter/myworks/notepad--/how_build
rm -rf build_new
mkdir build_new
echo -e "${GREEN}✓${NC} 完成"
echo ""

# 2. CMake配置
echo -e "${YELLOW}[2/5]${NC} 运行CMake配置..."
cd build_new
if cmake .. > cmake_output.log 2>&1; then
    echo -e "${GREEN}✓${NC} CMake配置成功"
else
    echo -e "${RED}✗${NC} CMake配置失败，查看日志："
    tail -20 cmake_output.log
    exit 1
fi
echo ""

# 3. 编译
echo -e "${YELLOW}[3/5]${NC} 编译项目（约3-5分钟）..."
echo "    使用 -j8 并行编译加速..."
if make -j8 > make_output.log 2>&1; then
    echo -e "${GREEN}✓${NC} 编译成功"
else
    echo -e "${RED}✗${NC} 编译失败，查看错误："
    grep -A 5 "error:" make_output.log | head -30
    echo ""
    echo "完整日志: $(pwd)/make_output.log"
    exit 1
fi
echo ""

# 4. 安装
echo -e "${YELLOW}[4/5]${NC} 安装到用户目录..."
rm -rf ~/Applications/NotePad--.app
cp -r NotePad--.app ~/Applications/
echo -e "${GREEN}✓${NC} 已安装到: ~/Applications/NotePad--.app"
echo ""

# 5. 清理旧配置（可选）
echo -e "${YELLOW}[5/5]${NC} 配置清理（可选）..."
if [ -d ~/.config/notepad ]; then
    echo "检测到旧配置文件"
    read -p "是否清理旧配置以使用新的主题同步功能？(y/N) " -n 1 -r
    echo
    if [[ $REPLY =~ ^[Yy]$ ]]; then
        BACKUP_DIR=~/.config/notepad_backup_$(date +%Y%m%d_%H%M%S)
        mv ~/.config/notepad "$BACKUP_DIR"
        defaults delete io.gitee.cxasm.notepad-- 2>/dev/null || true
        echo -e "${GREEN}✓${NC} 旧配置已备份到: $BACKUP_DIR"
        echo -e "${GREEN}✓${NC} 下次启动将使用新的默认配置"
    else
        echo "保留旧配置"
    fi
else
    echo -e "${GREEN}✓${NC} 无旧配置，跳过"
fi
echo ""

# 完成
echo "========================================="
echo -e "${GREEN}   ✅ 编译安装完成！${NC}"
echo "========================================="
echo ""
echo "修复内容："
echo "  ✓ 暗色模式下所有55种语言的代码高亮"
echo "  ✓ TXT文档、Makefile等所有文件类型"
echo "  ✓ UI主题自动同步语法主题"
echo "  ✓ 普通文本（变量名、函数名）自动提亮"
echo ""
echo "运行程序："
echo "  open ~/Applications/NotePad--.app"
echo ""
echo "测试建议："
echo "  1. 打开各种代码文件（.cpp .py .js .txt Makefile等）"
echo "  2. 切换到暗色主题（设置→主题设置）"
echo "  3. 观察所有文本是否清晰可读"
echo ""

